package ip6util

import (
	"net"
)

// IsIPv6 判断是 IPv6 吗
func IsIPv6(ip net.IP) bool {
	ip4 := ip.To4()
	if ip4 == nil {
		return true
	}
	return false
}

// GetNext 返回下一个 IP 地址
func GetNext(ip net.IP) net.IP {
	if ip == nil {
		return nil
	}
	ipLen := len(ip)

	newIP := make(net.IP, ipLen)
	copy(newIP, ip)

	for i := ipLen - 1; i > 0; i-- {
		if newIP[i] == 0xff {
			newIP[i] = 0
			continue
		}

		newIP[i]++
		return newIP
	}
	return net.IPv6zero
}
